Printing control device in high speed chain printer with hammers movable to plural print positions

ABSTRACT

A high speed printer of the chain type in which the type characters on the chain are spaced apart a distance greater than the distance between adjacent print positions and in which the number of firing hammers is less than the number of print positions such that each hammer services several print positions. The attachment or control for the printer maintains identity of the type character in front of a print position optioned to print by modifying a type character counter in accord with scan being taken, print position and position of the firing hammers.

[ 1 June 27, 1972 nite States Patent Berglund et a1.

[54] PRINTING CONTROL DEVICE IN HIGH .....l0l/93 C .....l0l/93 C ....l0l/93 C ....l0l/93 C Weeding...........................

1 3,135,195 6/1964 Potter SPEED CHAIN PRINTER WITH 1(7); 1 1 00m et a To PLURAL 2,993,437 7/ 1961 Demer et 31.... 3,066,601 12/1962 Eden.............. [72] Inventors: Neil C. Berglund; Robert W. King; Kent 31289-576 12/1966 Bloom et W. Swearingen, all of Rochester, Minn. 2918365 12/1959 [73] Assignee: International Business Machines Corpora- Primary Examiner-William B. Penn tion, Armonk, NY. Assistant Examiner-E. M. Coven June 30, 1970 Attorney-Schroeder, Siegfried & Ryan [22] Filed:

[21] Appl.No.: ABSTRACT A high speed printer of the chain type in which the type ...101/93c, 101/111 ...B41j 9/14, 541 5/30 L C ah n l l 5 which the number of firing hammers is less than the number of print positions such that each hammer services several print References Cited positions. The attachment or control for the printer maintains identity of the type character in front of a print position optioned to print by modifying a type character counter in ac- UNITED STATES PATENTS 3,220,343 ll/l965 cord with scan being taken, print position and position of the firing hammers.

17 Claims, 9 Drawing Figures l01/lll X Wasserman........................ 3,433,153 3/1969 Harrington et al. 3,364,852 l/l968 ....l01/93 C Ragen C PATENTEDJum m2 3.672.297

sum 1 or 1 FIG.|

NEIL C. BERGLUND ROBERT W. KING PATENTEDJUNZ? I972 3.672.297

- SHEET 2 or 7 1 I as "lfllll LE3 llllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllf' FIG. 2

OR OR CC INCR BIT 4 CC INCR BIT? o -cc INCR ang ml ogpssz CC INCR BIT |o w w ae 2n CLOCK PATENTEOJUIIZ? m2 3.672.297

sum 7 OF 7 I8 PC I CLOCK O SHIFT SHIFT I68 240 CC SHIFT ans (l-Y) nor OVERFLOW CLOCK 4 SIGNAL CLOCK 8 20' FIG.7b

PRINTING CONTROL DEVICE IN HIGH SPEED CHAIN PRINTER WITH HAMMERS MOVABLE TO PLURAL PRINT POSITIONS This invention relates to high speed printer apparatus of the chain type and more particularly to the logic and control apparatus for a high speed printer of the type shown in the Harrington et al. patent US. Pat. No. 3,433,153 issued Mar. 18, 1969.

Chain printer apparatus including logic control for the same are shown in U. S. Pat. Nos. 2,918,865 of R. E. Wooding, issued Dec. 29, 1959; 2,993,437 of F. M. Demer et al., issued July 25, 1961; 3,066,601 of H. E. Eden, issued Dec. 4, 1962 and 3,289,576 of E. M. Bloom, Jr. et al., issued Dec. 6, 1966. These patents generally describe chain printer apparatus which comprise a print mechanism and controls for the same for printing data a line at a time on a record medium. The print mechanism consists of a continually moving type chain, a plurality of hammers arranged in a row parallel to the straight line of travel of the type and means for guiding and feeding a record medium between the hammer array and the type chain. The type chain consists of a plurality of type elements attached to a flexible belt or the like in a predetennined order and the chain may include one set or a number of sets of type elements in the same character sequence to provide a continuous loop. In these prior chain printer apparatus the print hammers are arranged in a linear array so that one hammer is provided at each print position which print positions are separated by a predetermined and constant distance. The characters on the chain have a spacing which is greater than the distance between print positions and each character is spaced apart the same distance. With this arrangement and within the span of the hammer array, a given number of spaced apart characters in the set and on the chain will move into alignment with various print positions as the chain moves. The time between successive alignment conditions is determined by the print position spacing, chain type spacing and chain velocity. Since the type chain is moving constantly, the characters coming into alignment with the various hammers are continually changing such that the characters optioned to print in the particular print positions are changing. Thus the process whereby the characters move into alignment with the print hammers in predetermined print positions to be optioned for printing is called scanning and where only a portion of the characters on the chain within the span of the hammer array move into alignment and the characters in alignment are separated by characters not moving into alignment in the same interval is referred to as a sub-scan process. The interval of time when all hammers to be scanned by one type character of the moving chain is called a print scan.

In these chain printer apparatus, printing occurs by selective operation of hammers in the array in its timed relation with the arrival of desired characters at predetermined print positions. The printer control for such chain printer apparatus comprise generally a magnetic core storage device, means for identifying the characters in a sequence in which they appear on the type chain, means for selecting the hammers as the characters register therewith, means for timing the various control and print functions and means for initiating and terminating printer operation, paper feeding and data storage transfers. In such chain printer apparatus the core storage device is usually a part of a data processing system or maybe a separate buffer storage receiving data from a central processor storing a line of data to be printed at one time. Within the core storage device an individual core storage position is provided for each hammer position andthere will be as many storage positions as there are print positions and hammers. In apparatus of this type when a line of data is stored in the storage device and an instruction is received to print, data is then read out of the storage one character at a time by an address read out means which scans the core storage positions in the same sequence in which the characters are alignable in the hammer positions. Thus for given spacings in type characters only predetermined positions of storage are scanned during a sub-scan operation and intermediate storage positions are scanned in subsequent print sub-scans. During the course of the print scan every position in the data storage is scanned at least once. This process is repeated as many times as there are different characters in the type set. Simultaneous with the storage read out operation, the type identifying means, which is a character code generator such as a binary counter or the like, is generating a sequence of signals which identify those characters which are registering with print positions and print hammers during the print sub-scans. The state of signals read out of the various storage positions are compared with the character signal generated by the character generator for a corresponding print position and when comparison is made and the data and character are the same, a compare signal is produced which is used to operate the hammer addressed. The timing for the scanning of the storage and the type identifying counters are provided by pulses generated from an electronic clock which also controls the print scanning operation. In chain printer apparatus of the type shown in the patents, the print cycle may be fixed or variable but each of the printers involved require a complicated and expensive arrangement of having a print hammer at each print position.

In the patent to R. H. Harrington et al., US. Pat. No. 3,433,l53 dated May 18, 1969 a simplified and inexpensive printer apparatus of this type is shown and described as to its mechanical structure in which the number of hammers is less than the number of print positions and each hammer will service more than one print position. Our invention in a printing apparatus utilizes a printer structure of this type in which there are one-fourth the number of hammers as there are print positions, for example 33 hammers for 132 print positions. The invention relates to a simplified and economical logic and control apparatus for controlling such a printer with a binary counting apparatus for keeping track of the identity of a character in alignment with the print position at which a print hammer is available for printing. This improved logic system also provides a simplified means for addressing and identifying in the storage core the particular data at the particular print position being serviced. Thus the improved structure achieves an economy in parts in that it utilizes a printer with a definite economy in structure by significant reduction in the number of hammers and an improved control apparatus for servicing the same.

Therefore it is the principal object of this invention to provide an improved high speed printing apparatus having a reduction in the number of hammers over the number of print positions and an improved control apparatus for operating the same.

Another object of this invention is to provide in a high speed chain printer apparatus of this type a simplified structure for determining the identity of a type character at a particular print position in which a hammer is available.

These and other objects of this invention will become apparent from the reading of the attached description together with the drawings wherein:

FIG. 1 is a schematic view in perspective of the printer apparatus to give an indication of location and arrangement of P FIG. 2 is a schematic perspective view of the chain drive mechanism and its timing drum and emitter;

FIG. 3 is a graphic illustration of the relationship between the chain type characters and the print positions for the plurality of sub-scans taken in the print scan;

FIG. 4 is a graphic illustration of the signals from the chain emitter counter for the various sub-scans;

FIG. 5 is a graphic illustration of the alignment of chain characters with print positions for various hammer positions during printing sub-scans;

FIG. 6 is a logic flow diagram showing various components of the printer and the logic circuit controlling the same in block form;

FIGS. 7A and 7B taken together show a logic diagram of the chain character counter portion of the printer control;

FIG. 8 is a logic diagram of the hammer position and subscan count decode unit feeding the chain character counter.

FIG. 1 shows generally and schematically parts of a chain type printer such as is shown and described in the aforementioned patent. The essential parts of the printer are shown only schematically, out of proportion, and without the full complement of hammers to disclose generally the relationship of parts. The printer basically comprises an endless type character chain, indicated generally at 10, having a plurality of type elements 11 attached to a flexible carrier formed in a loop and movably supported on a pair of spaced drive wheels 13, 14. A drive shaft 15 for the drive wheel 13 is connected to a constant speed motor device (not shown) of any conventional type. The type elements 11 on the chain contain separate engraved characters making up a type set, and a single set or a plurality of sets may be included on the chain. Positioned adjacent the chain is a printing ribbon which is mounted on guide rollers and moved relative to the chain in a conventional manner. Adjacent to and adapted to be contacted by the ribbon is the printing form 30, having suitable perforations on the edge of the same and a suitable drive mechanism (not shown) which moves the form or paper relative to the chain and the hammer array. The hammer array is indicated generally at 40 as comprising a plurality of hammers, only a limited number of which are shown in FIG. 1. The hammers are mounted on a hammer bar 41 and move longitudinally relative to the chain being shiftable through a cam follower indicated at 42, and the operation of a spring 44, positioned at the other end of the hammer bar. The cam follower 42 is moved by an incrementer cam, indicated at 45, which is selectively rotated through operation of a clutch 46 to urge the cam follower to shift the hammer bar and shift the relative positions of the individual hammers relative to print positions (not shown). Each individual hammer is operated by a push rod, such as is indicated at 50 with the individual print hammers 52 being engaged by the push rod and moved through the operation of an electromagnet 55. The incrementer cam which moves the hammer array has associated therewith a transducer in the form of a light source 58, a coded disc 60 with slot 61 therein, and a photocell 62, which senses the light source through the slot. This will indicate the position of the incrementer cam and hence the position of the individual hammers with respect to the print positions. Since the mechanical details of the hammer structures are shown in the Harrington et al. patent, U.S. Pat. No. 3,433,153 they are included herein only schematically and described only generally for simplicity in disclosure.

Referring to FIG. 2, the drive drum 13 includes a chain timing drum 70 on its journaling shaft 15, which moves with the pulley or cog wheel 13. The drive drum 13 and chain timing drum has associated therewith a cogged drive pulley 66 which mounts a cogged drive belt 65, the belt extending to and over a second drive pulley 67 mounted on the driving shaft 68 of the drive motor (not shown). The chain timing drum 70 includes slotted surfaces 72 defining a plurality of emitter slots aligned with each of the characters in a chain set. Associated with the slots and mounted on a bracket 75 is a transducer 76, whose magnetic core 77 is disposed adjacent the slots on the timing drum to sense the presence of the same. An appropriate transducer coil 78 mounted on the magnetic structure has a signal generated therein as the tip of the magnetic structure passes the slots.

For the purpose of the present disclosure, it will be understood that the chain has 48 characters in a set and the chaim emitter drum 70 has 144 slots therein, or three slots per character, with an additional slot, or 145th slot, indicating the start of a character set. Any number of sets may be placed on the chain and the physical size of the timing drum with respect to the chain is such that the timing drum makes one complete revolution for each set of characters passing a given print position. The chain is geared or cogged to the drums 13, 14 such that the emitter slots align with the type characters on the chain in each set. The slots are aligned with the characters such that there are three slots per character to define sub-scan positions with respect to a print position, as will be hereinafter defined. Also, for the purpose of the present disclosure it will be understood that the line printer has 132 print positions, and that the number of hammers in the printer is 33, such that each hammer will service or fire four adjacent print positions to effect considerable economy in the design, manufacture and maintenance of the printer apparatus per se. In the operation of the printer, the hammer array will be positioned such that it will service every fourth print position across the line, and that with operation of the incrementer clutch, the hammer array will be shifted to the next adjacent position in either direction to service the next adjacent print position from that previously serviced, such that three shifts of the incrementer clutch are required after the initial start to complete a print line in which all of the characters in the type chain set are optioned or brought in alignment with all of the print positions.

FIG. 3 shows a graphic illustration showing of a portion of the type characters on a print chain as they relate to various print positions. This will disclose the approximate relationship of spacing between type characters and the various print positions. The type spacing on the chain is approximately one and a half times the spacing between print positions. When a character is aligned under print position 1, the character under print position 4 will be 0.001 inch out of alignment. Similarly the character under print position 7 is 0.002 inch out of alignment. Thus as the chain moves to the left, every second character comes successively into alignment with every third print position. With reference to a given print position, the time and movement of the chain with respect to that position required to move the chain such that the second character in a set moves to a point where it occupies a position of alignment with that print position is defined as a print scan, and three print sub-scans will take place during this amount of chain movement. During this period of time various of the type characters in the set will be moving into and out of alignment with various of the print positions along the print line. Thus, as indicated in FIG. 3, certain of the characters in the chain set will be in alignment with print positions during the sub-scan, identified as PSSl, while others will move into alignment during the sub-scan P882, and still others during the sub-scan PSS3, which will complete the amount of time required to move from one consecutive character to another at a given print position. It will be recognized, however, that in this invention the mere condition of alignment of a type character with a print position does not indicate a condition of optioning the character for printing at that print position, since only onefourth of the print positions have hammers aligned therewith to enable printing at any instant of time. Thus, for optioning a character to print at a particular print position, the condition of alignment must be met and also the availability of a hammer at that print position must be met. The chain transducer or emitter during sub-scan movement produces three pulses, as indicated by the graph a in FIG. 4 for each print scan, or one for each print sub-scan. These pulses are converted, as indicated by the graphs PSS1, PSS2, and P883, to provide appropriate signals for the logic network, as will be hereinafter defined.

FIG. 5 shows a graphic illustration of print positions versus sub-scans in a print scan for various hammer positions, or as defined by movement of the incrementer cam for positions of movement by the hammer bar identified, as M1, M2, M3 and M4, which shift the 33 firing hammers with respect to adjacent print position which they service. Thus, it will be seen that in hammer bar position M1, or a start position at one extreme of movement, print sub-scan 1 will have hammers available for firing at 1 l of the 132 print positions, with the same condition existing for print sub-scans 2 and 3. In order that all of the print positions in a print line be optioned or offered a character for print, it is necessary to shift the hammer bar through the three additional hammer bar positions identified as M2, M3 and M4 in FIG. 5 to permit each print position to be optioned a character to print. The hammers are held in one M position until all 48 characters on the chain set are optioned to print. Then they are cam driven to cover the other three M positions under control of the attachment. The chain transducer provides the pulses, one of which is the home pulse, to indicate the beginning of each character set, and three additional pulses for each character in the set, or a total of 144 pulses, before the next home pulse occurs. Thus, the three subscan pulses are sent for each of the 48 characters, and the relationship of the home pulse and the sub-scan pulses permits the logic system to trace each character in relation to option to print positions. The chain is continuously moving and hence at any given instant it is necessary to know the identity of a type character moving into alignment with the particular print position under consideration. As will be hereinafter pointed out, this is accomplished by a chain character counter, which responds to the home pulse as an indication of the start of a character set, and references each character in the set to the first character and the first print position. As an example and with reference to FIGS. 3 and 5 a start of a scan is indicated when the first character, suggested A in the set shown in these figures, is aligned with position 1. It does not matter, however, which character starts sub-scan 1, because all characters will pass by at any given time. Sub-scan 1 lasts until the next character is aligned with print position 2. During sub-scan 1 the first alignment occurs at print position 1, and the next alignment occurs at the third position, counting from 1, which is print position 4, and so forth. Thus, the alignment process passes through the following print positions, 1, 4, 7, 10, 13, 16, 19, 22, etc. However, as will be seen in FIG. 5, the alignment is useful only for print positions 1, 13, 25, 37 and ending with position 121. This means that of the 44 theoretical alignments to print that occur during sub-scan 1, only 1 l useful options to print occur because of the number of hammers employed. Three such subscans provide 33 options to print, with the second sub scan having a condition of chain character alignment with print positions 2, 5, 8, 11, 14, 17, or every third position from the next adjacent position. This provides the 11 different print positions such as indicated at print positions 5, 17, 29, 41, etc. Since three sub-scans make up a print scan, 48 print scans are required to offer each character contained in a 48 character set to 33 print positions available with one setting of the hammer bar. Thus, 33 print positions are termed an increment scan or M position, and to complete a 132 position print line requires four increment scans, or 192 print scans, or 576 sub-scans, based on a 48 character set.

In the operation of the printer, the hammer bars lock in one or the other of the home positions and 48 print scans occur without any cam motions. The clutch driving the incrementer unlocks and the hammer bar begins to move to the next M position. It stays in this position to allow the next 48 print scans, after which the operation is repeated. After three positions have been passed, the right home position, or opposite home position, is reached and following the print scans the line of print is completed. At this time the form 30 will be moved. The same action of the hammer bar is repeated with the hammer bar moving in the opposite direction. It is thus seen that the printer logic must establish when the useful option to print exists through the chain character counter receiving signals from the chain emitter and identifying in which M position, through the increment emitter 58, 62 the hammer bar is in. The attachment can then tell the CPU, or the central processing unit, from which print position data is to be taken for printing, to compare it to the chain character in storage and decide whether the printer is to fire or not, that is print a character in the print position under consideration.

FIG. 6 shows the flow diagram with control components in block form for the printer. As will be seen in FIG. 6, that portion of the flow chart identified at 80 represents controls and sensors on the printer itself apart from the controls and logic units which control the operation of the printer. Thus as will be seen in FIG. 6, the chain 10 and its associated chain emitter sensor 76 together with the incrementer cam sensor 57 supplies signals to the logic network to indicate the character on the chain in alignment with the print position under consideration and the existence of a firing hammer at that position. The

incrementer clutch 46 controls the operation of the cam which shifts the hammer bar to shift the firing hammers in the various Mpositions outlined above. The hammer drivers, indicated by the block 82, control the energization of the individual electromagnets 55 or hammer magnets for firing the hammers to effect printing. This portion of the diagram omits the carriage controls and drive motors for the various parts of the printer for simplicity.

In the area identified at are shown components of a computer from which information is derived for the purpose of operating the printer. This includes the main storage unit 109 with chain image storage 10% and storage for the line of data to print 109a together with the storage address register 108 associated therewith. In addition, the printer utilizes the arithmetic logic unit 105 of the computer to make a comparison of data to be printed and chain character at a print position to determine whether printing can be effected at that print position. Thus the registers 106, 107 constituting the A and B registers of the computer store respectively the data to be printed and the image of the chain character at the print position being considered. This structure also includes register 110 containing the LPDAR or address register 110a for the print data and the LPIAR or address register 110b for the chain image.

The area of the flow chart identified at identifies the logic and channel controls for the printer attachment which control the operation of the print hammers when printing is to be efiected. It also includes the chain character counter identified at 102, by the dotted lines, which is comprised of components receiving signals from the chain emitter 76 and incrementer emitter 57 to determine the character on a chain in alignment with the print position and with a print hammer. Thus in this portion of the attachment, the block 112 indicates the cycle steal controls which conditions the B register 107 in the computer, the arithmetical logic unit in the computer, and the data address register whenever the printer attachment receives a print command. Data from the arithmetic logic unit in the computer is fed through the data bus out, indicated at 150, to data registers numbered 113 and 114 in the attachment controls. The register 113 contains at different times, the data to be printed and the print position in which it is to be printed. The data register 1 14 receives signals from the data bus out 150 when a comparison is made between a character in the chain image and the data in print line at a particular print position, and upon comparison sets the hammer to be fired in accord with signals from the hammer set control 118 through an AND circuit 129 to control the firing. A counter circuit, as will be hereinafter noted, receives signals from the chain emitters 76 and the M position and print subscan decode unit 125 to set the hammer for the particular print position being considered. This signal also is addressed to the hammer register 115 where it transfers the print position to be printed from register 113 into register 1 15 wherein the signals are decoded in the decode block 116 to select the particular hammer driver to be energized as indicated by the connection to block 82. These controls are conventional and their details are omitted for simplicity.

The pulse signals from the chain emitter 76 are directed to the print sub-scan counter 123 wherein a count of the subscans is maintained with the signals therefrom being fed to the scan counter 120 and the scan counter decode unit 121 which controls the energization of the incrementer clutch control 122 to energize the incrementer clutch 46 after all 48 chain characters have been presented to the 33 positions at which hammers are located at that instant. The output of the print subscan counter 123 is also fed to the M position and print sub-scan decode unit which also receives signals from the increment emitter 57 on the printer through an M position counter 124 with the output of the decode unit 125 being utilized to set the hammer control 117 and also provide an initialization signal to the chain character counter 102, as will be hereinafter identified. The latter includes a binary counter which feeds a seven bit shift register 131 for the purpose of counting from the home pulse each of the characters in a set and with the identification of the characters being in a binary code. This count is modified in the shift register 131 by an initialization signal received from the M position and print sub-scan decode unit 125 through a four bit shift register 133 which receives a signal therefrom. The output of the four bit shift register is fed to an adder 132 along with the content of the shift register 131 with the counter adding the signals a bit at a time and feeding the same back into the seven bit register, such that the seven bit register will provide an identification in binary code of the character in the set which is presently under alignment with a particular print position. The shift registers 131 and 133 are controlled by a clock signal 134 which shifts the same for adding purposes. In addition, the binary counter 130 receives a home pulse signal from the home pulse detector 140 which resets the same at the start of each set of characters in the chain. The output of the seven bit register is fed to a data bus in assembler 119 wherein it is loaded into the data bus in cabling 149 feeding the A register 106 of the computer. The data bus in assembler 119 also receives the data to print from the data register 2 identified at 113 for purposes to be later noted. The chain character counter 102 is shown in FIG. 7 in detail.

As will be seen in FIG. 6 and expanded in FIG. 7, the chain character counter 102 is comprised of a binary counter or seven bit flip-flop circuit which maintains a count in binary code of the number of characters in a type set. In the present example, with a 48 character type set, the counter will count from to 47 as each of the chain characters passes a given print position, which in this instance is the first print position as referenced by the chain transducer 76. Thus the first print sub-scan pulse for each character in the set as sensed by the transducer will be used to activate the binary counter to maintain a count of the characters. At the end of a set as evidenced by a complete revolution of the timing drum 72, a home pulse is received and sensed by the home pulse dectector 140 whose output is used to reset the binary counter. The output of the binary counter is broadsided into a seven bit shift register 131 wherein it is modified, as will be hereinafter noted, and. will maintain a count in binary code of the type character approaching the print position under consideration. This modification is provided by the four bit register 133 which receives signals from the M position and print sub-scan decode unit 125 as indicated by the cable 101. The decode unit, as will be hereinafter identified, is shown in FIG. 8. The output of the two registers 131, 133 are fed respectively a bit at a time to the adder 132 with the output of the adder being fed back into the front end of the shift register 131 to modify the count therein in accord with the hammer position and print sub-scan. This circuit will provide the initialization signal to the four bit register at the start of each sub-scan and with each change of hammer position and will add an increment in binary number from 0 to 8 depending upon which sub-scan and which hammer position the printer is in. After the initial character has been considered, the four bit register is loaded with the factor of 8 representing the difference in type spacing between adjacent print positions in which the hammer is optioned for printing.

Thus as will be seen in FIG. 8, the decode block 125 includes a plurality of AND" units each receiving a signal from the cam position counter to indicate which position the hammer bar is in. In addition the individual AND" units have connected thereto one of the sub-scan lines. The output of the AND" gates are connected respectively through OR gates to simplify connections with the output of the decode unit being connected to increment bit lines representing increment bits 1, 2, 4 and 8, as will be seen in diagram. This will establish in binary code incremental setting depending upon the M position and print subscan condition an initialization number to the four bit register which will be variable depending upon the conditions present and will vary between 0 and 8. Thus for M position 1, the initializing numbers are 0, 3 and 6 for the print sub-scans l, 2 and 3. Similarly for M position 2 the initializing numbers are 6, l and 4, for M position 3 are numbers 4, 7 and 2 and for position 4 are numbers 2, 5 and 8 for the respective print sub-scans 1, 2 and 3. These numbers fed in binary code to the four bit register will be added serially a bit at a time with the numbers from the seven bit register and the result will modify the output of the seven bit register to correct the same to give it true indication of the number of the type character at the print position at the start of any sub-scan. This initialization factor will be recognized from the hammer locations of FIG. 5 and the type character positions of FIG. 3 with respect to the print positions referenced to print position 1. Thus as will be seen in FIG. 3, under print position 1, the first character A is in alignment and no modification is required. For sub-scan 2, the first character in alignment with a print position at which a hammer is available is print position 5 and the character is D or three type characters away from the first type character hence the increment added is three. Similarly on sub-scan 3 the first print position at which a hammer is available is print position 9 and the character G is six type characters away from the first type character being counted, hence the initialization number is 6. Thus in FIG. 8, the AND gate identified with the lines M1 and P582 is con nected to the OR" gates 152, 154 to the increment bit lines 2 and 1 so that the binary number 0011 will be fed to the shift register 133. Since there is no increment for M position 1 print sub-scan 1, no decode block is provided. Similarly for M position 1 print sub-scan 3 the AND" unit is connected to an OR" gate 155 whose output is fed respectively to the "OR" gates 154 and 156 to energize both the four and two bit increment line to provide the binary number O1 10 to the shift register 133. After the initialization and after optioning the first print position in a sub-scan is undertaken, increments of eight are added to the shift register 131 with each print position in the sub-scan to be considered. This will correspond with the diagram FIG. 5 in which after print position 1 in hammer position M1 for the first sub-scan is considered, the next print position available for printing will be print position 13 corresponding to the character I in the diagram of FIG. 3 which is eight type units away from FIG. 1. The same spacing will take place, as indicated by the diagram of FIG. 5, between each of the print positions available to print by virtue of alignment of a hammer and alignment of a type with a print position, so that the same spacing exists throughout the sub-scans for the various hammer positions of the incrementer. It will be recognized that the diagrams of FIGS. 3 and 5 relate the position of characters on the chain to varying print positions and for given positions of the hammers and alignment during certain subscans. It will be noted that the chain 10 is continuously moving and that at the start of any sub-scan for any hammer position or incrementer position M1, 2, 3 or 4 upon receipt of a print order, any type character could be under the first print position or moving relative thereto. However the chain character counter relates to the first character in a chain set so that the counter will have adjusted the shift register 131 for the binary number of the character at that position. Thus a print cycle can begin at any position on the chain and the character first available for print at the first print position on the first subscan will be known and the initialization factors and the increments will be added thereto as the sub-scan is taken. It will be also recognized that the output of the decode block 125 is also fed by a line indicated at 160 to the hammer controls block 1 17. This portion of the decode block is omitted for simplicity since it merely selects in the same manner through AND gates the various print sub-scans and the various incrementer positions to preload certain hammer positions for the purpose of improving the tinting of the firing. In addition the details of the print sub-scan counter and M position counter are omitted for simplicity since these are primarily flip-flops with separate bit lines to indicate the particular sub-scan and incrementer position by separate lines.

It will be recognized that the chain is a continuously moving chain and that a plurality of sets (five) are included thereon and uniformly spaced throughout the extent of the chain as indicated previously in connection with FIG. 3. Because of the length of the print line it will also be recognized that more than one set will normally be aligned with the various print positions throughout the extent of the same. The binary counter 130 counts the 48 characters in the set in binary code starting with and ending with 47 at which time it receives a reset pulse. This same count is positioned in the seven bit shift register and modified by the initialization factor supplied by the four bit register to shift the same with respect to the particular sub-scan and hammer position. Thereafter the increment of 8 is added for each new print position as succeeding available print positions are considered. It will be noted that in each sub-scan in accord with FIG. 3 there are 11 print positions hence the shift register 131 will be incremented ten times by the factor of 8 after the first print position is considered. This together with whatever initialization factor which has been introduced to the shift register will soon exceed the maximum count of 47 indicating the last character in the set for binary code. However, the adder 132 includes a logic circuit so that as the count reaches anywhere between the numbers 40 to 47 in binary code, the increment value (0 to 8) as added will be carried over in a manner which eliminates the three highest order bits in this seven bit register and providing the output which will represent the proper type character in the next character set on the chain which is in front of the print position being considered. Further it will be recognized that at then end of a print sub-scan and as each subsequent print scan is taken the shift register is cleared and the binary number of the counter is again reinserted at the start of the succeeding sub-scan together with whatever initialization factor is required to properly identify the type character under the print position to be serviced. Thus at the end of each print subscan, the next sub-scan pulse operates to reload the number in the binary counter back into the shift register removing the total previously present and the procedure of initializing and incrementing with each succeeding position in the print subscan is repeated. At all times the content of the seven bit register as indicated by the flow line or cabling 135 will be available and fed to the data bus in assembler 119 to provide an indication to the computer through the data bus in cabling 149 of the type character approaching alignment with the print position being considered.

The logic block diagram of FIG. 7 shows the chain character counter in more detail. The binary counter 130 receives signals from the print sub-scan counter 123 through an input circuit indicated at 164 which responds to the first sub-scan signal for each character or every third sub-scan pulse. The counter is a seven bit flip-flop which counts from 0 to 47 in binary code for the 48 character set with the initial pulse effecting a 0 count. The output of the same is fed through the cabling 165 to the seven bit register 131 wherein it is gated into the seven bit register through AND gates 166, (only one shown) for each flip-flop which are conditioned by a chain emitter sub-scan without home pulse, indicated by conductor 167. The NOT side of the character counter flip-flops are fed through the cabling 169 to the reset side of the seven bit shift register through AND" gates 170 (only one shown) for each flip-flop which are also conditioned by a chain emitter sub-scan without home pulse. This causes the contents of the character counter 130 to be broadsided into register 131 at the beginning of each sub-scan. The output of the seven bit register is indicated by the cabling or flow line 135 and is fed to the data bus in register 119. However this output is also connected and fed through the cabling 175 to a one bit adder 176 of the adder indicated generally at 132 in FIG. 6. This adder also receivessignals from the four bit register 133 through a cabling indicated at 177. Both inputs are fed into the conventional one bit full adder 176 for the purpose of serially adding the contents of the four bit and seven bit shift registers with the result going to the seven bit shift re gister. The four bit register 133 receives its signals from the cabling indicated at 101 generally connected to the M position and print sub-scan decode unit 125 which is shown partially in FIG. 8. This output includes the bit conductors indicating the eight bit increment, 181 indicating the four bit increment, 182 indicating the two bit increment and 183 indicating the one bit increment or, the print sub-scan 2. To this input cabling is included a chain emitter sub-scan without home pulse, indicated by the conductor 167, and a conductor 187 emanating from the cycle steal controls and as identified as print cycle steal 1 which will gate the increment pulses, as hereinafter identified. For the purpose of resetting the flipflops comprised of the four bit register 133, inverter units are tied to the 8, 4, 2 and 1 bit lines to define respectively input control conductors 186, 188, 189, 191 which identify the not chain counter increment bits 8, 4, 2, and 1 respectively. In the circuit of FIG. 7 it will be seen that the bit lines 180 183 representing the bit lines 8, 4, 2 and 1 are connected through AND gates or units which also receive the chain emitter sub-scan pulses from conductor 167 to selectively turn on the 1, 2, 4 and 8 bit flip-flops of the four bit register. The NOT lines are similarly connected to AND units identified at 192 which connect to the same flip-flops for the purpose of turning them off. An additional AND gate 193 is shown which receives the signal from the print cycle 1 line 187 ANDEDwith a clock timing signal, indicated by the conductor 194, and connected through an OR gate 195 with the output of the eight bit AND" unit for the purpose of applying the Incrementer signals or the eight bit signal to the shift register after the initializing increment has been added from the decode unit and on each succeeding print position or cycle steal after the initial cycle steal for each print sub-scan. Thus the four bit shift register provides an output through the conductor 177 which is serially sent to the adder 176 which also receives bit signals serially from the seven bit register 131 through the conductor 175. The inputs to the adder 176 are added and sent through the AND 200 which has an overflow count input conductor 201 to provide an output on the conductor 205 leading back to the seven bit shift register 131. An overflow detection sensor or AND unit 210 also receives signals from the seven bit shift register 131 and under conditions where the count in the register 131 is between 40 and 47, will be energized to provide a signal to a latch 215 indicating the possibility of an overflow condition. Thus the conductors 212 leading from cabling 135 of the register 131 and the conductor 213 represent signals from the register and the type of character set in the chain which sense this overflow condition. The conductors indicated generally at 212 represent signals from the shift register in which bit positions 64 and 16 are not energized and bit positions 32 and 8 are energized indicating a minimum count of 40 in the register for a 48 character set. The output of this AND" unit as indicated by the conductor 214 is connected to the latch or flip-flop 215 through an AND" unit 216. The 'AND unit 216 also receives a clock signal as evidenced by the conductor 217 to turn on the latch. The latch 215 is reset by a clock signal indicated by the conductor 252. The output of the latch 215, indicated by the conductor 225, is fed to an AND" unit 230 receiving inputs from a clock signal conductor 226 and a conductor 227 representing a NOT adder condition for the adder 176. The output of this AND" unit is fed to a flip-flop 240 which is set by the shift pulse that also advances the four bit and seven bit shift registers. The flip-flop 240 is gated with "OR unit 235 such that once the same is turned on, it can only be reset by clock signal 252 and not by the shift pulse 168. Thus the OR unit 235 receives its input from the AND unit 230 and the output of flip-flop 240 and is connected through an inverter 236 to the input of the flip-flop with the reset conductor 252 being connected to the reset side of the same. This logic circuit after sensing a potential overflow condition at the AND unit 210 and after a given clock pulse, which arises after three shift pulses, will latch the overflow line 201 from the flip-flop 240 so that the three highest order bits being fed through the AND 200 will appear as Os. Thus any binary signal in the adder 176 which receives an increment value from the shift register 133 which will provide a total of more than 47 will cause an overflow condition to turn off the AND 200 after the fourth shift pulse so that the bit pulses fed to the shift register 131 through the conductor 205 will be only that which is present in the first four bits with the remaining pulses being 0. This will give the correct chain identification in hit code to the number of the chain slug which will be considered with this increment. Thus in a print sub-scan, after initialization and the first option to print, the separate and subsequent increments of 8 received from the four bit register will be added to the content of the shift register 131 serially except when an overflow condition occurs after which the overflow sensor unit 210 will correct an overflow condition by blanking out the three highest order bits in the resultant addition. Therefore in a print sub-scan, the identification of the type character at any print position being optioned to print will be accurately maintained and at the end of the sub-scan, the shift register 131 will be reset and reincremented for the proper print sub-scan being taken and the particular position of the hammer bar.

The data bus in assembler 1 19 which receives the content of the shift register 131 for the purpose of holding and gating the same into the CPU or computer also receives data from register 113 through the line 136. lt is shown in block form for simplicity since it is nothing more than eight flip latches one for each bit of code supplied from the various sources. Each source has its own "AND" gate through which the different input data is sent to the assembler. The data register 113 is used for holding a data byte from the main storage unit 109 of the computer. Whenever the data byte has a particular code therein, the input to the DBl assembler will be activated and the data will be received therein. This is controlled by clock signals (not shown) and the output of the DB1 assembler is fed through the data bus in to the input of the computer. A similar control is effected from the data received from the shift register 131 supplying information to the CPU of the chain character aligned in some print position. With proper timing from the clock, the information from the shift register is gated through the input controls to the register and on to the data bus in 149 with the code bits thereon wherein it is sent to the computer. Such structure is largely conventional and its details are omitted herein for simplicity.

In the operation of the printer, the print condition begins with the hammers positioned in one of the home positions, either right or left. This location is determined by the mechanical position of the counter block or counter 124 controlled by the operation of the emitter 57. Knowing the position of the hammers indicates the positions available to print at this particular series of scans and when the hammers are moved other positions will be available to print. To fire any given hammer the data contained in the line of print positioned in the main storage register 109a for that particular print position must be known along with the character on the print chain which is in alignment with the print position. The chain image is also loaded into the main storage unit 1091: and is constant for a particular type chain cartridge or chain having a particular character set thereon which is mounted on the machine. Chain cartridges or chains with characters which are different from the standard set may also be used with modification of the counters and logic units in the attachment. The chain image for such character sets will also be loaded into the storage units. The data that is contained in the main storage unit 109a is constant for a line of print and its image is also stored in the storage unit. At the completion of a line of print operation, this area will be blank and the computer will then supply a new line of data for a subsequent print operation. A line of data consists of 132 bytes, eight bits to each byte, or one byte for each print position. In the example used, the chain image for a standard chain contains 48 bytes one for each different character on the chain. In order to make a print comparison the print position of the 33 hammer positions available in the printer with one setting of the hammer bar must be known and the chain character in front of that position must also be known. The print positions are scanned in sequential order and the signals from the incrementer emitter 57 through the counter 124 will indicate the starting position. The chain character counter 130 and the associated shift register 131 are used to detemtine the character of the chain in front of the print position being serviced. This register is ini tialized for the particular scan and M position with an initializing increment at the start of each sub-scan and is initialized from the decode unit 125 for succeeding M positions in which hammers are located. The output of the shift register 131 gives the binary code number of the character on the chain and this information is utilized or sent through the data bus in assembler and into the computer to bring out the actual image of the character which is contained in the main storage for that location on the chain. Thus the contents of the shift register block 131 are used to address the main storage in the computer to obtain this image and obtain the identity of the character corresponding thereto in main storage.

A print operation for the printer is controlled by the cycle steal controls 112 which receive information from the computer through the program when a line of data is available for print with a print command. On the first cycle steal, the data for a given print position, for example print position No. 1, is extracted from the main storage unit 109b on the first cycle steal and passed through the ALU block 105 and sent to the printer attachment wherein it is stored in the data register block 113. On the next cycle steal or memory cycle as controlled by the cycle steal controls, the chain image character that is presently in front of the print position 1 is removed from main storage and put in the B register block 107. Simultaneously with the chain image being extracted from the core storage unit 1091; to be placed in the B register 107, the printer attachment is taking the data character which was previously loaded into the data register block 113 and sends it through the data bus in assembler 119 back to the computer by way of the A register block 106. At this instant of time the data is present in the A register block 106 and the image present in the B register block 107. These two bytes are then subtracted by the ALU or arithmetic logic unit to see if they compare. A comparison will be indicated in the ALU in that its output will be 0 if the two bytes are equal. The results of the subtraction from the ALU are sent through the data bus out 150 to the printer attachment and are decoded in the data register block 114 to determine whether the results of the subtraction are in fact 0. The 0 will be indicated on the compare line 140 which line is ANDED by means of the AND" unit 129 with the timing pulse generated in the attachment by hammer clock controls unit 118 and used to fire the hammer driver 82. The hammer address controls, that is the address and the decode unit, will have previously conditioned the hammer driver unit 82 and the hammer controls 117 together with its clock control 118 will provide and condition the hammer unit 82 so that when a compare signal is present the results will be an energization of the particular electromagnet 55 to cause a print to take place. After servicing the first print position through the firing of the hammer, providing that the image character in front of that particular position compared with the data byte in the line of data to be printed for that position, the cycle steal controls continue to condition the components of the central processing unit 90 for the next set of cycle steals. Thus the procedure is repeated and the data from the next print position is accessed to the data register 113 to be ultimately placed in the register 106 with the address information conditioning the hammers associated with that print position. The particular type character in front of this print position is obtained from the register 131 and is sent through the data bus in register or assembler 1 19 to the data bus in 149 wherein it is directed to the address register and the appropriate character in proper code for the chain image corresponding thereto is fed back to the register 107. The binary character counter and shift register 131 determine the actual binary code of the character in front of this print position. The code for this print character is inserted in the address register 110 where the image register will provide from the chain image storage the actual image of the character corresponding to the code so that the comparison could be made.

The print operation is continued where the particular subscan with the cycle steal operation checking each line of data to print positions corresponding to the hammer positions available for options to print. In each case a comparison is made of the chain character presently aligned in front of each of these print positions and a decision is made as to whether printing can be effected through correspondence of the chain image with the data to be printed. A chain character counter at the start of each sub-scan is initialized or incremented with the number which reflects the character available at the print position for the start of each sub-scan and away from the first character in the set. Thereafter the counter is incremented by an amount corresponding to the next succeeding chain character positioned in alignment with a print position at which a firing hammer is located. After the print scan or the three print sub-scans have been completed for the 33 positions available for the particular hammer bar setting, that is one print position for each hammer, the attachment will have presented one character on the chain to each of the 33 positions and if there has been a comparison printing is effected. This procedure is repeated 47 more times to present each character on the chain to each of the 33 print positions. Every time a different character is presented to the various print positions, the scan counter block 120 advances and when the same is advanced to 48 or the number of characters in a chain set, the scan counter decode block 121 indicates this fact and operates the increment clutch controls to energize the increment clutch 46 changing the hammer bar position. Thus the hammers move to the next mechanical position through operation of the clutch 46 and the 33 hammers are now placed in front of 33 different print positions. Since there are four dif ferent mechanical locations of the hammers and the hammers can move either from right to left or left to right the number of the mechanical position is determined by the incrementer emitter 57 which through the M position counter establishes selected output lines. After the incrementer clutch block 121 is energized and the hammer is moved to the second mechanical position, a signal from the incrementer cam emitter block 57 is provided indicating that the hammers have arrived at the next mechanical position. At this point resumption of printing for each of the 33 positions and with each of the 48 different characters on the chain is commenced to see if any of these positions have anything to be printed. Upon completion of the same the scan counter 120 is incremented each time a new character is presented to the first print position and the decode block indicates when 48 scans have elapsed. At this point the incrementer clutch control block 46 is again energized and the hammers are moved to a third mechanical position. When the hammers arrived at the third mechanical position, indicated by the incrementer cam emitter block 57, re sumption of the printing continues and 33 different print positions are optioned again to the characters on the chain. This procedure is repeated one more time until all 132 print positions have been optioned to complete a line of print. When the attachment completes the 48 print scans on the last 33 of the 132 print positions the line of print is completed. The clutch is not energized at this time because this condition indicates the termination of a particular print command and the controls are shut off to await the next print command and the subsequent operation of the cycle steal controls for optioning data in print positions of the line of data to the chain characters corresponding to the print positions.

The details of the computer form no part of the present invention and are shown in block herein for simplicity. Examples of the same may be found in the patents referenced above. With respect to the computer and its controls, its principal function is the storage of data to be printed and storage of the image of the chain together with comparing the image of a type character at a print position corresponding with an image of the data to be printed for that print position to determine whether printing can be effected. Within the computer,

the line of print data address register and image address register shown in block at are used strictly to address the contents of the main storage unit 109. The data address register portion of this control is holding the address where may be found the data corresponding to the various print positions. The image address register portion is holding the address where may be found the image of the particular character on the chain at the print position corresponding with the data.

In the example used herein, the 48 character chain are assigned binary code numbers 0 to 47 by the binary counter 130 and these numbers are loaded into the image address register portion of the block in the computer and will become the address to locate the actual code characters of that particular character on the chain. For example numeric 1 may be the first character in a chain and its address is then 0. ln location 0 in the main storage the actual code for the number I will be found thus the actual code has no definite relationship with the content of the image address register and it is holding only the address in the main storage register where the proper code for the character may be found such that it may be compared with the data character which is to be printed.

In the printer controls, the cycle steal control is shown only in block form and similar controls are shown and explained in detail in the above referenced patents. These controls are used to control the memory cycles of the computer or central processing unit of the same. Thus their function, upon a print command, is to retrieve the chain image and the data byte to be printed from the main storage block. The data and the image are retrieved on successive memory cycles or cycle steals and it is the cycle steal control block which controls this retrieving of the data seeing that it is gated into the proper registers and that the data and image are subtracted in the arithmetic logic block 105 of the computer with the results being sent to the printer attachment for a decision as to whether a comparison is made and printing can be effected. The hammer address registers block and its associated decode unit 116 are used to select the proper hammer corresponding to a desired print position which is being serviced. As an example if printing is to be effected at print position 1 the data to be printed will be contained in the main storage register and it is the function of the hammer address register and decode block 116 to condition the proper address line 142 to the hammer driver control 82 such that hammer No. 1 is addressed as print position 1 is being serviced. in servicing the other print positions, the proper address lines in the cabling 142 will be energized such that each of the 33 hammers in the print line for the particular hammer bar position will be respectively addressed in turn. This permits energization of the proper hammer driver for the print position. The hammers must be each fired at the precise instant of time, that is, when the moving chain character are in exact alignment with the print position in which the printing is to be effected. It is the function of the hammer controls block 1 17 and hammer clock controls block 118 to determine the precise instant at which each hammer must be fired. The output of the hammer controls block is a timed pulse which occurs at the instant that any given hammer has a character on the chain aligned therewith. Inputs to these controls are effected from the print sub-scan counter 123 and the M position and print sub-scan decode block 125 to aid in this alignment. If a compare signal is obtained from the register 114 for the particular chain character at the particular print position, the compare signal line is energized and the timing pulse then becomes a set signal for the compare block 129 which in turn energizes the electromagnet 55 in the hammer driver unit 82. The advance pulses for the shift register block 131 and all of the associated logic and registers contained in the attachment and in the computer are controlled from a master clock in the computer.

As the chain 10 is moving, it is causing chain character emitter pulses from the transducer or emitter 76 to be sent through the attachment. These character pulses indicate to the attachment that the type characters are moving into alignment with print positions 1, 2 and 3 for the sub-scan pulses respectively. The print sub-scan counter block 123 is counting the chain emitter pulses so that it knows at each instant that a character has just moved into alignment with one of the first three print positions. The counter 123 is used in conjunction with the M position counter block 124 to provide signals to the decode block 125 as indicated in FIG. 8 to provide initialization signals to the four bit shift register 133 enabling the chain character counter 102 to keep track of the specific character that may be under any print position that is being serviced. The chain emitter 76 provides the function of indicating when any given character on a chain is aligned with either the first, second or third print positions. The M position and print subscan decode block determines which mechanical position and which sub-scan the printer is currently in. This information controls two functions. The principal one is in the chain character counter and with respect to the shift registers 133 and 131. It supplies the proper initialization factor to the four bit shift register 133 so that the seven bit shift register 133 will properly indicate the character on the chain that is under the first print position and any other print position being serviced in any given sub-scan and in a known mechanical hammer bar position. This factor would be a binary number from to 8 and will be used to add to the current content of the character counter 130 to determine the resultant character in front of the print position being serviced. As was indicated in FIG. 7, the code for the characters in a set for a 48 character set was from O to 47 and the chain character counter through its adder senses the condition when the increment to be added through the shift register 133 exceeds the number of characters in a given set and is therefore an identification of a character in the next succeeding set. Thus the overflow sensor 210 determines its condition from the seven bit register 131 and operates the set on overflow latch at a particular clock time such that a flip-flop in the overflow portion of the adder will be activated to blank out numbers exceeding 47 and place the proper number in the next set in the output of the and 200 such that it may be fed to the seven bit register for modification of the same. The contents of the seven bit register are removed at the end of each subscan and reinserted from the character counter 130 and with a new initialization factor related to the particular sub-scan being taken and the hammer positions such that identity of the character in the next succeeding set will be determined. Thus the chain character counter together with the associated controls including the print sub-scan counter 123 and the M position counter 124 together with the decode block initialize and increment the chain character counter so that the identity of the character approaching a print position optioned for print is always known.

Thus when a particular character identity is sent through the data bus in assembler 119 and through the data bus in cabling 149 to the computer, it will be properly addressed and the image of the same removed from the storage unit 109 to be placed in the computer for the comparison of the character available to print and the data desired to print for that particular print position. The data register 1 14 contains a latch with a decoding network on the input of the latch. This is shown in block form for simplicity, but its principal function is to decode O or the compare signal from the computer. This would indicate that a condition for printing exists. The register 114 has a second latch with a decoder feeding it which decoder responds to a blank character in a line of data. During the cycle steal operation when this latch is energized, a signal is sent to the cycle steal control 112 from the data register as indicated by the cabling line therebetween to indicate to the printer that there is no point in trying to compare the image character to a blank data character. At this point the cycle steal for this print position is terminated. The cycle steal operation is then commenced for the next sequential print position being optioned for service and the accessing of the data from the storage registers 109 is repeated for this position. Whenever there is no comparison, printing is not effected and the cycle steal operation is resumed for the next succeeding print position available for printing. This process is repeated for the 33 hammer positions for each scan and for each of the 48 characters in a set. The data register 113 in the attachment, also shown in block, is basically a series of latches designed to hold a data byte that has come from main storage until the printer is ready to take a cycle steal to access the image byte from main storage. As the image character is being accessed and inserted in the B register 107, the data byte stored in 1 13 is returned to the A register 106 through the DBl Assembler 119. The registers are subtracted to make the comparison. The hammer register and decode unit, are shown in block 115 and 116 and are basically a series of latches which hold the information from the data bus out as to the identity of the print position such that when it is decoded the proper hammer may be activated corresponding to the print position being serviced. The decode unit addresses the proper hammer driver in the block 82 for this purpose. The hammer controls 117 and the hammer clock and controls 118 principally generate accurate timed pulses used to set the hammers. These are shown in block 117 and 118 for simplicity. Each time a hammer is fired it must be tired at a precise instant of time, that is when a character on the chain is precisely aligned with the print position. The purpose of the hammer controls and clock is to generate the timing signals which when AN- DED" with the compare signal in the unit 129 actually fires or energizes the particular electromagnet involved. The M position and decode block has the additional function in addition to initializing the shift register 133 of initializing the hammer clock and controls blocks 117 and 118 to correct for differences in time in which the hammer must be fired. This portion of the decode unit was omitted for simplicity since its details form no part of the present invention. The scan counter decode block determines when all of the print positions for one hammer location are completed or have been serviced and initiate to the controls 122 the operation of the clutch 46 for incrementing the hammer bars to the next set of hammer positions. The clutch magnet effects the shifting and the controls block 122, shown in block form, are principally a latch set by the scan counter decode whose output goes to energize the clutch magnet.

The improved printer and controls of the present invention utilizes a hammer arrangement in which there are less hammers than print positions and the hammers thereon are shifted to service four print positions in the sequence of printing. The improved controls include a simplified arrangement for maintaining the identity of the type character under particular print positions so that as each consecutive print position which is available for printing is considered, the identity of the character on the chain type approaching the same will be known. This enables the comparison to be made between the data to be printed and the character available for printing to determine whether printing should be effected in such print positions. The chain character counter which maintains identity of the character is initialized with a setting to correspond with the particular print sub-scan being effected and the hammer position or the position of the hammer available for printing. Afier initialization and as succeeding print positions are considered, the counter is incremented by a fixed number identifying the spacing between characters in alignment with successive print positions available for printing. The continuous type chain will have a plurality of sets of characters thereon and more than one set will be in front of the line of print positions. The identity of the specific character in front of a print position will be obtained by modifying the chain character counters such that it will recognize the end of a chain set and count additional or new characters in the succeeding set to properly identify and code the character in alignment with the print position to be serviced. The remaining portion of the logic and control network in the attachment which couples a printer with the computer having the line of data to be printed therein are largely conventional and are shown in the above referenced patents in varying forms.

are brought into alignment with one of said print positions at v the beginning of consecutive scans and each of said scans including a plurality of subscans in each of which a certain fraction of the characters are brought into alignment with said print positions, said printer including a plurality of hammers for causing a record to be brought into cooperating relationship with the type characters at the various print positions when it is desired to print a certain character at that print position, there being fewer hammers than there are print positions and the' printer including means for shifting said hammers so that all of said print positions may be printed, the improvement residing in, means for providing a signal at the start of each set of type characters referenced to a predetermined print position and additional signals as each type character of the set passes that predetermined position, a counter providing an output signal initiated by said start signal at the beginning of each set of type characters and operated by the additional signals representing type characters in the set, and counter modifying means connected to said counter to modify the counter output signal, said modifying means including second counter means providing count signals representative of particular print positions together with positions of adjustment of said hammers and the sub-scan being taken which when combined with the counter output signal provide a modified counter output signal indicative of the identity of the type character on the chain passing said particular print position for the purpose of indicating its availability to print at that print position.

2. The printer of. claim 1 in which the first named counter is initiated. by the start signal of each set for each scan with the counter counting each character of the set until the last character of the set is reached and with the counter being cleared at the end of each set and conditioned for reinitiation with each change in adjustment position of the hammers.

3. The printer of claim 2 in which the first named counter includes a shift register and the second named counter includes a second shift register with the output of the two shift registers being combined by an adder and fed back to the first named shift register.

4. The printer of claim 1 in which the hammer means for causing a record to be brought into cooperative relationship with the type characters at the various print positions includes a relationship where the number of hammers is less than the number of print positions by some multiple of the number of hammers such that the one hammer services several adjacent print positions, cam means for simultaneously positioning each of the hammers relative to various print positions, and including transducer means for indicating the position of the hammers with respect to certain print positions, said transducer means providing a predetermined signal for the respective hammer positions and being connected to the second named counter to provide the signal therefrom to modify the signals on the'first named counter;

5. The printer of claim 2 in which the means for providing a signal at the start of each set referenced to the first print position and additional signals as each character of the set passes the predetermined position includes a signal drum connected to and operated with the endless chain for moving the same relative to the print positions with the drum having magnetic means cooperating with a magnetic transducer distributed about the periphery of the same for each character of the set and with an additional magnetic means to indicate the start of the set and in which the drum is driven such that it makes a complete revolution for each set of characters in the endless chain.

6. The printer of claim 2 in which the first named counter includes a binary counter controlled by the additional signals which feeds a seven bit shift register and including clock means for controlling the adding a bit for each additional signal to maintain a count of the characters in each set passing a predetermined print position.

7. The printer of claim 6 in which the modifying means is a four bit shift register connected to and receiving signals from the counter counting each scan of the type characters with reference to the predetermined positions and the particular hammer position for the print position being considered.

8. The printer of claim 7 in which the seven bit register and the four bit shift register are connected to and added in an adder a bit at a time with the output of the adder being fed to the seven bit shift register to modify the data therein in accord with the input from the four bit shift register.

9. The printer of claim 8 in which the adder includes means responsive to the count in the seven bit shift register which senses the approach of the final characters in the set and modifies the operation of the adder to restart count corresponding with the characters of the next succeeding set such that the adder will condition the seven bit register with a number corresponding to the character in the next succeeding type set.

10. The printer of claim 1 in which the modifying means includes means responsive to hammer position and sub-scan being taken to initially modify the counter output signal at the start of a sub-scan to identify the type character under the first print position considered at the start of the sub-scan and addi tional means providing a constant modifying factor to the counter output signal to identify the type character at sequentially available print positions at which a hammer is located which are optioned to print in said sub-scan.

11. The printer of claim 8 in which the seven bit register is reset from the binary counter at the start of each scan and initialized by the output of the four bit register for the first print position of the scan and including means controlling the four bit register to add a fixed signal thereto for each succeeding print position in which a hammer is positioned in a subsean.

12. The printer of claim 5 in which the drum having magnetic means associated therewith includes three magnetic means for each character in the type character set to identify the start of a sub-scan.

13. In a printer, an endless movable chain having distributed thereon in different locations a plurality of separate type charaetersforming a set, means for carrying sheet material on which the characters are to be printed, a plurality of print hammers each of which is adapted to register with a plurality of print positions, means for moving the hammers in unison such that each of said hammers registers in one operative position with one of said print positions and registers in another operative position with another of said print positions, means for selectively identifying the location in the set of characters of each of the separate characters on the chain in alignment with the print positions where hammers are located by scanning characters on the chain for said print positions, means for storing signals representative of the type characters on said print chain, means for storing a line of data to be printed, means for using the identification of the characters on the chain for obtaining the signals representative of the characters on the chain in alignment with a print hammer at the print position corresponding to the data in said print position, means for comparing the signals representative of the characters on the chain with a character from said line of data to be printed and for firing the corresponding print hammer on a compare to efiect printing in said print position, said means for selectively identifying by location in the set of characters each separate character including a counter which counts each character of the set which passes a predetermined print position and a counter modifying means which modifies the first named counter for a print scan being taken and hammer position.

14. The printer of claim 13 in which the counter which counts the characters in the set passing a predetermined position includes a first shift register which maintains the count of characters therein and the modifying means includes a second set of counters and a second shift register with the second set of counters counting the scan taking place and the hammer position to provide an initialized signal at the start of a scan to indicate the first print position of the scan available for printing, and including adder means combining the totals in the first and second shift registers and reinserting the same in the first shift register to provide a count indication of the character aligned with the print position available for printing at the start of a scan.

15. The printer of claim 14 in which the second counters and the second shift register after initialization at the start of a scan provides an incrementer signal to indicate each print position after the first print position in a scan available for printing.

16. The printer of claim 15 in which the first named shift register is reset by its counter at the start of each scan and initialized by the output of the second named shift register.

17. 'lhe printer of claim 16 in which the adder includes means responsive to the count of the first named shift register sensing approach of the final characters in the set to modify the operation of the adder and to restart the count corresponding with characters in the next succeeding set such that the adder will condition the first named shift register with the number corresponding to the character in the next succeeding character set aligned with the print position optioned for printing. 

1. In a printer having a certain number of print positions which are spaced apart a predetermined distance and an endless chain containing a certain number of type characters in one or more character sets, said characters being spaced apart a distance greater than the predetermined distance between print positions such that consecutive type characters are brought into alignment with one of said print positions at the beginning of consecutive scans and each of said scans including a plurality of subscans in each of which a certain fraction of the characters are brought into alignment with said print positions, said printer including a plurality of hammers for causing a record to be brought into cooperating relationship with the type characters at the various print positions when it is desired to print a certain character at that print position, there being fewer hammers than there are print positions and the printer including means for shifting said hammers so that all of said print positions may be printed, the improvement residing in, means for providing a signal at the start of each set of type characters referenced to a predetermined print position and additional signals as each type character of the set passes that predetermined position, a counter providing an output signal initiated by said start signal at the beginning of each set of type characters and operated by the additional signals representing type characters in the set, and counter modifying means connected to said counter to modify the counter output signal, said modifying means including second counter means providing count signals representative of particular print positions together with positions of adjustment of said hammers and the sub-scan being taken which when combined with the counter output signal provide a modified counter output signal indicative of the identity of the type character on the chain passing said particular print position for the purpose of indicating its availability to print at that print position.
 2. The printer of claim 1 in which the first named counter is initiated by the start signal of each set for each scan with the counter counting each character of the set until the last character of the set is reached and with the counter being cleared at the end of each set and conditioned for reinitiation with each change in adjustment position of the hammers.
 3. The printer of claim 2 in which the first named counter includes a shift register and the second named counter includes a second shift register with the output of the two shift registers being combined by an adder and fed back to the first named shift register.
 4. The printer of claim 1 in which the hammer means for causing a record to be brought into cooperative relationship with the type characters at the various print positions includes a relationship where the number of hammers is less than the number of print positions by some multiple of the number of hammers such that the one hammer services several adjacent print positions, cam means for simultaneously positioning each of the hammers relative to various print positions, and including transducer means for indicating the position of the hammers with respect to certain print positions, said transducer means providing a predetermined signal for the respective hammer positions and being connected to the second named counter to provide the signal therefrom to modify the signals on the first named counter.
 5. The printer of claim 2 in which the means for providing a signal at the start of each set referenced to the first print position and additional signals as each character of the set passes the predetermined position includes a signal drum connected to and operated with the endless chain for moving the same relative to the print positions with the drum having magnetic means cooperating with a magnetic transducer distributed about the periphery of the same for each character of the set and with an additional magnetic means to indicate the start of the set and in which the drum is driven such that it makes a complete revolution for each set of characters in the endless chain.
 6. The printer of claim 2 in which the first named counter includes a binary counter controlled by the additional signals which feeds a seven bit shift register and including clock means for controlling the adding a bit for each additional signal to maintain a count of the characters in each set passing a predetermined print position.
 7. The printer of claim 6 in which the modifying means is a four bit shift register connected to and receiving signals from the counter counting each scan of the type characters with reference to the predetermined positions and the particular hammer position for the print position being considered.
 8. The printer of claim 7 in which the seven bit register and the four bit shift register are connected to and added in an adder a bit at a time with the output of the adder being fed to the seven bit shift register to modify the data therein in accord with the input from the four bit shift register.
 9. The printer of claim 8 in which the adder includes means responsive to the count in the seven bit shift register which senses the approach of the final characters in the set and modifies the operation of the adder to restart count corresponding with the characters of the next succeeding set such that the adder will condition the seven bit register with a number corresponding to the character in the next succeeding type set.
 10. The printer of claim 1 in which the modifying means includes means responsive to hammer position and sub-scan being taken to initially modify the counter output signal at the start of a sub-scan to identify the type character under the first print position considered at the start of the sub-scan and additional means providing a constant modifying factor to the counter output signal to identify the type character at sequentially available print positions at which a hammer is located which are optioned to print in said sub-scan.
 11. The printer of claim 8 in which the seven bit register is reset from the binary counter at the start of each scan and initialized by the output of the four bit register for the first print position of the scan and including means controlling the four bit register to add a fixed signal thereto for each succeeding print position in which a hammer is positioned in a subscan.
 12. The printer of claim 5 in which the drum having magnEtic means associated therewith includes three magnetic means for each character in the type character set to identify the start of a sub-scan.
 13. In a printer, an endless movable chain having distributed thereon in different locations a plurality of separate type characters forming a set, means for carrying sheet material on which the characters are to be printed, a plurality of print hammers each of which is adapted to register with a plurality of print positions, means for moving the hammers in unison such that each of said hammers registers in one operative position with one of said print positions and registers in another operative position with another of said print positions, means for selectively identifying the location in the set of characters of each of the separate characters on the chain in alignment with the print positions where hammers are located by scanning characters on the chain for said print positions, means for storing signals representative of the type characters on said print chain, means for storing a line of data to be printed, means for using the identification of the characters on the chain for obtaining the signals representative of the characters on the chain in alignment with a print hammer at the print position corresponding to the data in said print position, means for comparing the signals representative of the characters on the chain with a character from said line of data to be printed and for firing the corresponding print hammer on a compare to effect printing in said print position, said means for selectively identifying by location in the set of characters each separate character including a counter which counts each character of the set which passes a predetermined print position and a counter modifying means which modifies the first named counter for a print scan being taken and hammer position.
 14. The printer of claim 13 in which the counter which counts the characters in the set passing a predetermined position includes a first shift register which maintains the count of characters therein and the modifying means includes a second set of counters and a second shift register with the second set of counters counting the scan taking place and the hammer position to provide an initialized signal at the start of a scan to indicate the first print position of the scan available for printing, and including adder means combining the totals in the first and second shift registers and reinserting the same in the first shift register to provide a count indication of the character aligned with the print position available for printing at the start of a scan.
 15. The printer of claim 14 in which the second counters and the second shift register after initialization at the start of a scan provides an incrementer signal to indicate each print position after the first print position in a scan available for printing.
 16. The printer of claim 15 in which the first named shift register is reset by its counter at the start of each scan and initialized by the output of the second named shift register.
 17. The printer of claim 16 in which the adder includes means responsive to the count of the first named shift register sensing approach of the final characters in the set to modify the operation of the adder and to restart the count corresponding with characters in the next succeeding set such that the adder will condition the first named shift register with the number corresponding to the character in the next succeeding character set aligned with the print position optioned for printing. 